1. Field of the Invention
The present invention relates to an exchange consisting of packages and/or subsystems that operate individually under a plurality of cooperative processors and share prescribed loads.
2. Description of the Related Art
In recent years, the added value of exchanges that constitute a major component of a public network or a LAN has been increased through application of a high-level information processing technology and transmission technology to it. And such exchanges are now making it possible to provide a variety of communication services.
In many of such exchanges, the hardware and the software have been standardized to flexibly adapt to an increase in the number of terminals to be accommodated and a variety of services to be provided to these terminals as well as to make the maintenance and operation more efficient. And many of such exchanges are configured as a set of packages and subsystems that share prescribed loads and functions under a plurality of interfacing processors.
FIG. 9 is a block diagram showing the configuration of an exchange in which load distribution and functional distribution are made.
In FIG. 9, subscriber line correspondence section 101-1 to 101-M are connected to terminals 103-11 to 103-1m, . . . , and 103-M1 to 103-Mm via subscriber lines 102-11 to 102-1m, . . . , and 102-M1 to 102-Mm, respectively, and also connected to corresponding ports of a switch 104. A control terminal of the switch 104 is connected to a corresponding input/output terminal of a main processor (hereinafter abbreviated as MPR) 105. Inter-office link correspondence sections 106-1 to 106-N are connected to respective inter-office links 107-11 to 107-1n, . . . , and 107-N1 to 107-Nn that are provided between the exchange and other exchanges (not shown), and also connected to corresponding ports of the switch 104. The subscriber line correspondence sections 101-1 to 101-M, the MPR 105, and the inter-office link correspondence sections 106-1 to 106-N are connected to a communication link 108.
The subscriber line correspondence section 101-1 is composed of subscriber line interface sections (LCs) 109-11 to 109-1m that are disposed individually between the subscriber lines 102-11 to 102-1m and corresponding ports of the switch 104, and a call processing processor (hereinafter abbreviated as CPR) 110-1 having a communication port that is connected to the communication link 108 as well as input/output ports (or communication ports) that are connected to input/output terminals of the respective subscriber line interface sections 109-11 to 109-1m. 
Since the subscriber line correspondence sections 101-2 to 101-M are configured in the same manner as the subscriber line correspondence section 101-1, the components of the former are given reference numerals that are the same as the reference numerals of the corresponding components of the latter and that have first suffixes xe2x80x9c2xe2x80x9d to xe2x80x9cMxe2x80x9d and descriptions therefor will be omitted in the following.
The inter-office link correspondence section 106-1 is composed of inter-office link interface sections (BWTs) 111-11 to 111-1n that are disposed individually between the inter-office links 107-11 to 107-1n and corresponding ports of the switch 104, and a call processing processor (hereinafter abbreviated as CPR) 112-1 having a communication port that is connected to the communication link 108 as well as I/O ports (or communication ports) that are connected to input/output terminals of the respective inter-office link interface sections 111-11 to 111-1n. 
Since the inter-office link correspondence sections 106-2 to 106-N are configured in the same manner as the inter-office link correspondence section 106-1, the components of the former are given reference numerals that are the same as the reference numerals of the corresponding components of the latter and that have first suffixes xe2x80x9c2xe2x80x9d to xe2x80x9cNxe2x80x9d and descriptions therefor will be omitted in the following.
In the conventional exchange having the configuration described above, as shown in FIG. 10, a pilot number selection list 105L that accommodates in advance, for each multihunting group, a combination of the numbers of terminals to be candidates for a destination party of a call as an object of a pilot number service (i.e., a pilot number service call) among the terminals 103-11 to 103-1m, . . . , and 103-M1 to 103-Mm and that have been generated as a part of office data are allocated in a particular storage area of a main memory of the MPR 105.
For example, when the terminal 103-11 among the terminals 103-11 to 103-1m, . . . , and 103-M1 to 103-Mm originates addressing to the terminal 103-21 that belongs to a multihunting group. indicated by a multihunting group identifier xe2x80x9c2xe2x80x9d (indicated as (1) in FIG. 11), the CPR 1101 recognizes the occurrence of the originating call that is corresponding, and captures a number to be dialed that has been set by the terminal 103-11 via the subscriber line 102-11.
Then, the CPR 110-1 performs code translation on the above number to be dialed, and transmits an originating notice including a result of the code translation to the MPR 105 via the communication link 108 (indicated as (2) in FIG. 11).
Upon recognizing the originating notice, the MPR 105 searches for a record containing, in some field, the same number as the number to be dialed that is included in the originating notice among the records of the pilot number selection list 105L.
When such a record exists, the MPR 105 identifies the numbers that are contained in the record (for the sake of simplicity, they are assumed here to be numbers that are assigned individually to the terminals 103-21 to 103-26), and then identifies the subscriber line correspondence section 101-2 having the subscriber line interface sections 109-21 to 109-26 that are connected to the respective terminals 103-21 to 103-26 by referring to office data by using these numbers as a key (indicated as (3) in FIG. 11).
Then, the MPR 105 acquires a unique address that is assigned in advance, as a node connected to the communication link 108, to the CPR 110-2 of the subscriber line correspondence section 101-2, and executes the first pilot number service process described as follows.
In the pilot number service process, the MPR 105 transmits, to the CPR 110-2 that is indicated by the unique address, via the communication link 108, a termination processing demand that includes the one number that is listed at the top of the record above-described and means that a termination process described later should be activated (indicated as (4) in FIG. 11).
When the MPR 105 receives a rehunting demand meaning that it is impossible to terminate to the terminal that is assigned such a number in a prescribed period starting from that time point (indicated as (5) in FIG. 11), as long as there are remaining numbers included in the record, the MPR 105 transmits, to the CPR 110-2, a termination processing demand as well including the one following number among the remaining numbers as meaning that a termination process should be activated (indicated as (6) in FIG. 11).
On the other hand, when the CPR 110-2 recognizes the termination processing demand described above, it executes a prescribed termination process that is necessary to terminate to the terminal that is connected to the subscriber line that is assigned the number included in the termination processing demand (hereinafter referred to as xe2x80x9ccandidate for the called terminalxe2x80x9d), among the subscriber lines 102-21 to 102-2m that are accommodated via the subscriber line interface sections 109-21 to 109-2m (indicated as (7) in FIG. 11).
In the termination process, the CPR 110-2 judges whether termination to the candidate for the called terminal is possible. When the judgment result is false, the CPR 1102 transmits a rehunting demand described above to the MPR 105 via the communication link 108.
Furthermore, termination to the candidate for the called terminal described above can not be achieved not only when a certain preceding call has occurred to the candidate for the called terminal but also, for example, when the candidate for the called terminal is removed or kept in an off-hook state.
Detailed description of each processing procedure in the termination process described above and processes executed in parallel during the termination process by the CPR 110-1 and the MPR 105 that cooperate with the CPR 110-2 and the communication link 108 will be omitted here because they are realized by using various known prior art and because they are not the novel features of the invention.
By the way, the first pilot number service process described above may be replaced by the second pilot number service process that is different from the first pilot number service process in that the CPR 110-2 and the MPR 105 cooperate with each other described as follows.
The MPR 105 has, in a particular storage area of the main memory, state registers that indicate the states of the individual subscriber lines 102-11 to 102-11m, . . . , and 102-M1 to 102-Mm (terminals 103-11 to 103-1m, . . . , and 103-M1 to 103-Mm) that are connected to the respective CPRs 110-1 to 110-M.
Each of the CPRs 110-1 to 110-M has, in a particular storage area of the main memory, state registers that indicate similar states of the individual subscriber lines 102-11 to 102-1m, . . . , and 102-M1 to 102-Mm.
Further, each of the CPRs 110-1 to 110-M executes a call process to a call that occurred at the subscriber lines 102-11 to 102-1m, . . . , and 102-M1 to 102-Mm while cooperating with the MPR 105 and another CPR opposing each other via the communication link 108. When a state register described above is updated during the call process, each of the CPRs 110-1 to 110-M informs the MPR 105 about the specific content of the updating.
The MPR 105 incorporates the thus-informed content of the updating into the state registers that are resident in the main memory.
The MPR 105 applies only a number indicating a terminal whose state stored in the state register described above is proper as a destination party among the numbers included in a record obtained in advance as numbers to be included in a termination processing demand described above.
That is, when the second pilot number service process is applied, meaningless deliveries of a termination processing demand and a rehunting demand between the MPR 105 and the CPR 110-2 can be avoided. Therefore, call setup can be performed efficiently and the quality of the service can be kept high.
The object of the call process described above is a pilot number service call in which all of the originating party, the destination party, and the candidate for the destination party are any one of the terminals 103-11 to 103-1m, . . . , or 103-M1 to 103-Mn (subscriber lines 102-11 to 102-1m, . . . , or 102-M1 to 102-Mm).
However, where the CPRs 112-1 to 112-N of the inter-office link correspondence sections 106-1 to 106-N cooperate with each other via the communication link 108 under the MPR 105 like the CPRs 110-1 to 110-M described above, the object of such a call process may be, for example, either of the following:
A pilot number service call occurred as an incoming call at the inter-office links 107-11 to 107-1n, . . . , and 107-N1 to 107-Nn.
A call (including a transit call) that is not a pilot number service call and occurs at any one of the terminals 103-11 to 103-1m, . . . , and 103-M1 to 103-Mm (subscriber lines 102-11 to 102-1m, . . . , and 102-M1 to 102-Mm) or the inter-office links 107-11 to 107-1n, . . . , and 107-N1 to 107-Nn.
By the way, in the conventional exchange described above, even when either of the first pilot number service process or the second pilot number service process is applied, the MPR 105 is given the originating notices described above by all CPRs accommodating, under themselves, a terminal (subscriber line) that can be an originating party among the CPRs 110-1 to 110-M.
Therefore, the MPR 105 is obliged to execute the processing described above in response to the originating notices at a speed within a degree that the deterioration in service quality is allowable.
However, since originating; calls may occur asynchronously at the subscriber lines 102-11 to 102-1m, and 102-M1 to 102-Mm (terminals 103-11 to 103-1m, . . . , and 103-M1 to 103-Mm), there is a possibility that loads are temporarily concentrated on the MPR 105 even not during a busy hour. Further, in general, the maximum load caused by such concentration increases every time the number of subscriber lines to be accommodated 102-11 to 102-1m, . . . , and 102-M1 to 102-Mm (terminals 103-11 to 103-1m, . . . , and 103-M1 to 103-Mm) increases.
Therefore, the throughput of the MPR 105 should be set in advance at such a value that desired service quality (including call losses that are caused by seizure of such resources as registers) can be secured in consideration of the number of subscriber lines and terminals to be accommodated and the throughput of call processes during a busy hour.
When the first pilot number service process is applied, a termination processing demand and a rehunting demand described above are transmitted and/or received repeatedly between the MPR 105 and the CPR that is connected to a subscriber line (terminal) to be a destination party.
That is, the hardware and software built in the CPRs 110-1 to 110-M, 112-1 to 112-N, and the MPR 105 for interfacing with the communication link 108 are costly because they are required to operate at such a high speed as to secure desired service quality.
When the second pilot number service process is applied, the larger size should be secured for the main memory of the MPR 105, the larger the number of terminals to be a destination party under a pilot number service will be. It is because that state registers are provided in addition to the pilot number selection list 105L described above.
Therefore, in the conventional exchange described above, although load distribution is made by the CPRs 110-1 to 110-M and 112-1 to 112-N, there has been a possibility to be imposed a limitation by the configuration and the scale of the MPR 105 on the number of subscriber lines that can be accommodated and the quality and the combination of services that can be provided.
An object of the present invention is to provide an exchange which can keep desired load distribution in a stable manner without altering the basic software configuration to a large extent.
Another object of the invention is to execute a call process in a stable manner according to the load distribution without causing local concentration of load.
Another object of the invention is to independently identify a processor that should execute a call process relating to lines to be the candidates for a destination party in a call process relating to the originating party of a pilot number service call, and to execute these call processes efficiently.
Another object of the invention is to optimize, with high determinacy, the hardware scale of databases and the required throughput for the distribution of calls to be subjected to call processes.
Another object of the invention is to enable call processes according to a variety of procedures and forms and to increase the completed call ratio.
A further object of the invention is to prevent the occurrence of an uncompleted call due to occurrence of a certain call that is different from the pilot number service call, at a line being a candidate for a destination party of a pilot number service call.
Still another object of the invention is to ease the reduction of the transmission efficiency of a communication link and the efficiency of a call process due to transmitting and/or receiving of divided messages between processors that execute a call process in cooperation.
Another object of the invention is to allocate processors to a plurality of concurrent calls without causing excessive deviations of loads.
Another object of the invention is to execute, as an internal processing, a call process for a pilot number service call when the degree of overload or congestion is high.
Another object of the invention is to flexibly adapt to a variety of operation and maintenance systems without the need for altering the basic software configuration.
Another object of the invention is to allocate excess throughput to call processes for concurrent calls without causing excessive deviations.
Another object of the invention is to flexibly adapt to the distribution of calls to become objects of parallel call processes and to allocate throughput to these call processes without causing excessive deviations.
Another object of the invention is to heighten the completed call ratio of pilot number service calls.
Another object of the invention is to enable thorough load distribution while utilizing major modules of existing software, and to cut down on labor relating to the maintenance and operation and to improve the service quality and the reliability.
The above objects are attained by an exchange comprising a plural number of distributed call processing means for executing call processes according to a load distribution by cooperating with each other via a communication link, for each combination of accommodated lines each being subscriber lines, interior wires, incoming lines, or outgoing lines, wherein the distributed call processing means have respective databases reporting to a distributed call processing means which is to execute a call process relating to a line to become a candidate for a destination party or an outgoing line in accordance with a result of routing, and directly cooperate with a distributed call processing means that executes a call process relating to a destination party by referring to the databases.
In this exchange, a call process is executed in such a manner that the distributed call processing means directly cooperate with each other via the communication link without intervention of a means that takes the lead in managing the distributed call processing means.
Therefore, call processes can be executed in a stable manner according to the load distribution without concentration of loads on a particular means as long as the throughput of the distributed call processing means and the transmission rate of the communication link are set at such large values that desired service quality can be secured for the maximum number of calls that may concentrate during the busy hour.
The above objects are attained by an exchange in which the databases serve for identification of a distributed call processing means to execute a call process for a line that has become a candidate for a destination party of a pilot number service call.
In this exchange, a call process for a pilot number service call is efficiently executed because a distributed call processing means that should execute a call process relating to a line to become a candidate for a destination party is identified according to the load distribution by a distributed call processing means that executes a call process relating to an originating party.
The above objects are attained by an exchange in which databases are provided in a distributed manner in only distributed call processing means that should execute call processes for lines that can be candidates for a destination party for each multihunting group, to thereby avoid meaningless redundancy.
In this exchange, pieces of identification information to be registered in advance to the databases are limited to ones corresponding to only pilot number service calls for which call processes are executed by the distributed call processing means having the databases.
Therefore, the hardware scale of the databases and the throughput required for the distributed call processing means are optimized with high determinacy for the distribution of calls for which call processes are executed by the distributed call processing means.
The above objects are attained by an exchange in which databases are constructed for only multihunting groups that can be the originating party of the pilot number service call corresponding to each multihunting group, and provided in a distributed manner in distributed call processing means that should execute a call process relating to the line of the originating party.
In this exchange, pieces of identification information to be registered in advance to the databases are limited to ones corresponding to only pilot number service calls for which call processes are executed by the distributed call processing means having the databases.
Therefore, the hardware scale of the databases and the throughput required for the distributed call processing means are optimized with high determinacy for the distribution of calls for which call processes are executed by the distributed call processing means.
The above objects are attained by an exchange in which each distributed call processing means monitors the state of a line to become a object of a call process and executes a call process that is adaptive to the state.
In this exchange, by recognizing, in a call process, the state of such a line in a call process, the distributed call processing means can fitly seize distributed call processing means, interfacing means, and other resources of which the possibility that a call as a object of the call process will become a completed call is high or the possibility that such a call will become an uncompleted call is low.
Therefore, call processes according to a variety of procedures and systems are enabled and the completed call ratio can be increased.
The above objects can be attained by an exchange in which the degree of overload of the respective distributed call processing means and the degree of congestion of the lines for which call processes should be executed by the distributed call processing means are monitored and these distributed call processing means execute call processes while fitly referring to monitoring results.
In this exchange, by recognizing, in a call process, the degree of overload or the degree of congestion, the distributed call processing means can fitly seize distributed call processing means, interfacing means, and other resources of which the possibility that a call as a object of the call process will become a completed call is high or the possibility that such a call will become an uncompleted call is low.
Therefore, the procedure and the system of a call process are made more flexible and the completed call ratio can be heightened.
The above objects can be attained by an exchange in which lines that have become candidates for a destination party of a pilot number service call are tentatively seized until a point in time when the pilot number service call is determined as either a completed call or an uncompleted call.
In this exchange, the above-described lines are prevented from being allocated in a call process for a call other than a pilot number service call. Therefore, the completed call ratio of pilot number service calls can be increased.
The above objects can be attained by an exchange in which pieces of information indicating candidates for a destination party of a pilot number service call are delivered in a lump sum between distributed call processing means via the communication link.
In this exchange, pieces of identification information indicating candidates for a destination party of a pilot number service call are delivered in plurals each time or all together in a lump sum between distributed call processing means that execute a call process relating to the pilot number service call while cooperating with each other via the communication link.
Therefore, the transmission efficiency of the communication link and the efficiency of call processing are prevented from decreasing because of the dividing loss of a message.
The above objects can be attained by an exchange in which, among lines to become candidates for a destination party, the maximum number of lines for which the approvability of a termination to be judged is predetermined.
In this exchange, even if the number of lines to become candidates for a destination party for a pilot number service call that actually occurs is large and certain calls have occurred in advance or certain troubles have occurred in the majority of these lines, the throughput of the distributed call processing means that serves for determination of a destination party is restricted so as to be smaller than or equal to an maximum value.
Therefore, the throughput of the distributed call processing means can be allocated to calls to become objects of parallel call processes without excessive deviations, and these call processes are executed stably according to the load distribution.
The above objects can be attained by an exchange in the case when it is recognized that terminations on candidates for a destination party of the same number as the maximum value is impossible, a termination process is executed for a candidate when there are any candidates of the line of an originating party and a destination party commonly accommodated under a distribution call processing means.
In this exchange, even if the number of lines to become candidates for a destination party for a pilot number service call that actually occurs is large and certain calls have occurred in advance or certain troubles have occurred in the majority of these lines, multihunting is attempted when an originating party and one of the lines commonly accommodated under the distributed call processing means are candidates for a destination party.
Therefore, if the degree of the above-described overload or congestion is high, a call process for a pilot number service call is continued by a single distributed call processing means that cooperates not via the communication link, but internal processing.
The above objects can be attained by an exchange in the case when it is recognized that terminations on candidates for a destination party of the same number as the maximum value is impossible, control information indicating whether to apply the invention or not is given as office data and the distributed call processing means executes a process adaptive for use with the office data.
In this exchange, the applicability of the invention is determined in accordance with the values of pieces of control information that are given to each distributed call processing means. Therefore, flexible adaptation to the systems of operation and maintenance of the exchange according to the invention is enabled without the need for altering the basic software configuration.
The above objects can be attained by an exchange in which pieces of control information are given for each multihunting group.
In this exchange, the approvability of application of the invention is determined in accordance with the values of pieces of control information that are given to the respective distributed call processing means for each multihunting group.
Therefore, flexible adaptation to a variety of systems of operation and maintenance is enabled without the need for altering the basic software configuration.
The above objects can be attained by an exchange in which the maximum value is updated to a value that is adapted to the individual distributed call processing means and the states of the lines accommodated under the distributed call processing means.
In this exchange, the more difficult it is to secure resources for a call process, the smaller the values are set for the throughput of the distributed call processing means that serve for selection of a destination party for a pilot number service call that has actually occurred from candidates for the destination party.
Therefore, the throughput of the distributed call processing means can be allocated to calls to become objects of parallel call processes without excessive deviations, and these call processes are executed stably according to load distribution.
The above objects can be attained by an exchange in which the states of the distributed call processing means and the lines are monitored for each multihunting group and the maximum value is updated to a value that is adapted to these states.
In this exchange, the higher the degree of either or both the overload and the congestion that are monitored by each of the plural number P of surveillance means is, the smaller the maximum value is set by the plural number P of distributed call processing means, for the multihunting group indicating candidates for the destination party of the pilot number service call that is the object of the call process and the distributed call processing means accommodating under itself a line of an originating party of the pilot number service call.
Therefore, the throughput of the distributed call processing means is allocated flexibly without excessive deviations for the distribution of calls to become objects of parallel call processes.
The above objects can be attained by an exchange in which the operating states of the distributed call processing means are watched and databases (pilot number selection lists) that are provided in only distributed call processing means whose operating states are normal are referred to in a call process.
In this exchange, lines to become candidates for a destination party of a pilot number service call are determined by databases given only from distributed call processing means that are operating normally.
Therefore, pilot number service calls become completed calls at a high probability.
Further, the above objects are attained by an exchange that is provided with a processor corresponding to an MPR and in which each distributed call processing means executes a call process according to the load distribution by cooperating with each other in the same manner as in the conventional exchange when the processor is normal and cooperating with each other directly via the communication link when the processor is abnormal.
In this exchange, even if a certain trouble occurs in the main processor, a call process for a call that has occurred at each line is continued stably according to the load distribution under cooperation between the distributed call processing means via the communication link.
Therefore, the invention can be applied to the conventional exchange without the need for altering the software configuration to a large extent.